package com.JMM;

import java.util.concurrent.TimeUnit;

// volatile: 保证可见性验证
public class JMMDemo {
    private volatile static int num = 0;
    // 不加 volatile:则程序进入死循环
    // 加了 volatile:则可以保证可见性
    public static void main(String[] args) throws InterruptedException {

        new Thread(() -> {  // 线程1对主内存的变化不知道
           while (num == 0) {}
        }).start();

        TimeUnit.SECONDS.sleep(1);
        num = 1;
        System.out.println(num);
    }
}
